<?php
/**
 * Created by PhpStorm.
 * User: caohejie
 * Date: 2018/7/3
 * Time: 09:44
 */




function getFile($url, $save_dir = '', $filename = '', $type = 0) {
    if (trim($url) == '') {
        return false;
    }
    if (trim($save_dir) == '') {
        $save_dir = './';
    }
    if (0 !== strrpos($save_dir, '/')) {
        $save_dir.= '/';
    }
    //创建保存目录
    if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
        return false;
    }
    //获取远程文件所采用的方法
    if ($type) {
        $ch = curl_init();
        $timeout = 5;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $content = curl_exec($ch);
        curl_close($ch);
    } else {
        ob_start();
        readfile($url);
        $content = ob_get_contents();
        ob_end_clean();
    }
    //echo $content;
    $size = strlen($content);
    //文件大小
    $fp2 = @fopen($save_dir . $filename, 'a');
    fwrite($fp2, $content);
    fclose($fp2);
    unset($content, $url);
    return array(
        'file_name' => $filename,
        'save_path' => $save_dir . $filename,
        'file_size' => $size
    );
}



if(!isset($_GET['url'])||$_GET['url']==""){
    echo "false";
    return;
}
$url=$_GET['url'];
function checkstr($str){
    $needle ='github.com';//判断是否包含a这个字符
    $tmparray = explode($needle,$str);
    if(count($tmparray)>1){
        return true;
    } else{
        return false;
    }
}

if(!checkstr($url)){
    echo "false";
    exit;
}


$namearr=pathinfo($url);


$save_dir = "down";

$file_name =md5($_GET['url']).".".$namearr['extension'];

if(file_exists('./down/'.$file_name)){

}else{
    $res = getFile($url, $save_dir, $file_name,0);//0  1 都是好使的
}

if(isset($_GET['s'])){

    echo 'http://git.caohejie.cn:8080/down/'.$file_name;

}else{
    //echo 'git clone http://git.caohejie.cn:8080/down/'.$file_name;

    Workerman\Protocols\Http::header('Location: http://git.caohejie.cn:8080/down/'.$file_name);

}






